#ifndef MYDATA_H
#define MYDATA_H
/*************************************************
 *	文件名称：mydata.h
 *	文件说明：	定义了双向链表结构
				1.算法2.18 在带头结点的双链循环线性表L中的第i个位置之前插入元素e
				2.算法2.19 删除带头结点的双链循环线性表L的第i个元素
 *	程序平台：for linux
 *	文件作者：Jason <jasonsunsoft@163.com>
 *	文件时间：2014年8月23日 16:25
*************************************************/

#include <stdlib.h>
#include <stdio.h>
#include "../../../common.h"

#define MAXSIZE 1000

/*
typedef struct {
	int a;
}ElemType;*/
typedef int ElemType;


//线性表的双向链表存储结构
typedef struct DuLNode {
	ElemType data;
	struct DuLNode *prior;
	struct DuLNode *next;
}DuLNode, *DuLinkList;



//-------------- 基本操作的函数说明---------------


DuLinkList GetElemp_duL(DuLinkList L, int i);

//算法2.18 在带头结点的双链循环线性表L中的第i个位置之前插入元素e，i的合法值为 1 <= i <= 表长 + 1
Status ListInsert_Dul(DuLinkList *L, int i, ElemType e);

//算法2.19 删除带头结点的双链循环线性表L的第i个元素，i的合法值为 1 <= i <= 表长
Status ListDelete_DuL(DuLinkList *L, int i, ElemType *e);

#endif //MYDATA_H
